package com.akoj.anmu.service.impl;

import com.akoj.model.domain.vo.TagsVO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.akoj.model.domain.entity.Tags;
import com.akoj.anmu.service.TagsService;
import com.akoj.anmu.mapper.TagsMapper;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;

/**
* @author LENOVO
* @description 针对表【tags(标签信息表)】的数据库操作Service实现
* @createDate 2024-10-18 20:23:18
*/
@Service
public class TagsServiceImpl extends ServiceImpl<TagsMapper, Tags>
    implements TagsService{

    @Override
    public List<TagsVO> listTags() {
        List<TagsVO> tagsVOS = new ArrayList<>();
        List<Tags> tagsList = this.list();
        for(Tags tag : tagsList){
            TagsVO tagsVO = new TagsVO();
            if(tag.getIsParent() == 1){
                tagsVO.setParentTagName(tag.getTagName());
                tagsVO.setId(tag.getId());
                tagsVOS.add(tagsVO);
            }
        }
        for(TagsVO tag : tagsVOS){
            Long id = tag.getId();
            QueryWrapper<Tags> wrapper = new QueryWrapper<>();
            wrapper.eq("parentagId",id);
            List<Tags> childrenTags = this.list(wrapper);
            List<String> childrenTagsName = childrenTags.stream().map(t -> t.getTagName()).collect(Collectors.toList());
            tag.setChildrenTagsName(childrenTagsName);
        }
        return tagsVOS;
    }
}




